package behavioral.command_partten;

/**
 * @ClassName: MainTest
 * @Description: 测试类
 * @Author: liu-hao
 * @Date: 2023-04-11 22:43
 * @Version: 1.0
 **/
public class MainTest {
    public static void main(String[] args) {
        // 创建接收者
        Receiver receiver = new Receiver();
        // 创建加法命令
        Command command = new AddCommand(receiver);
        // 定义调用者
        Invoker invoker = new Invoker(command);
        // 调用者调用命令
        invoker.executeCommand(); // 执行命令
        invoker.undoCommand(); // 撤销命令

        // 创减法命令
        command = new SubCommand(receiver);
        // 重新定义调用者
        invoker = new Invoker(command);
        // 调用者调用命令
        invoker.executeCommand(); // 执行命令
        invoker.executeCommand(); // 撤销命令
    }
}
